home *** CD-ROM | disk | FTP | other *** search
- Path: imonics.com!not-for-mail
- From: rcook@imonics.com (Imonics Corporation)
- Newsgroups: comp.lang.c++,comp.lang.c,comp.object,comp.software-eng
- Subject: Re: Portability of code & skills (Beware of "C" Hackers etc)
- Date: 25 Mar 1996 09:55:04 -0500
- Organization: Imonics Corporation
- Message-ID: <4j6c48$4mr@bughouse.imonics.com>
- References: <4ikb6kINN1is@mayne.ugrad.cs.ubc.ca> <3150415E.6396@sdt.com> <4ip5om$s9@bughouse.imonics.com> <4isfcu$p09@news1.mnsinc.com>
- NNTP-Posting-Host: bughouse.imonics.com
-
- In article <4isfcu$p09@news1.mnsinc.com>,
- Szu-Wen Huang <huang@mnsinc.com> wrote:
- >Imonics Corporation (rcook@imonics.com) wrote:
- >
- >: I think Unix and C are a success because they are deliberately
- >: obscure. All those "computer science" graduates just love
- >: knowing a secret code with which they can amaze people. They
- >: don't WANT it to be easy to understand; that would mean that
- >: other people could and would read their code and be able to do
- >: the things they do. That would weaken their club membership
- >: (sort of like letting in girls is to 7-year-olds).
- >
- >That's not really fair. In the beginning, only countries can
- >afford computers. Then big businesses. Then scientists. Unix
- >was born at a time when scientists were beginning to buy computers
- >to aid their work, and really heralded what we now call general-
- >purpose computing. Unix fit quite well to this task, despite its
- >shortcomings in architecture. Unix was never meant to be for non-
- >experts, that's quite clear. It is not so much a deliberate "club
- >membership" attempt as it is simply easier for experts to use
- >expert-talk and expert-tools. You are twisting the motive in your
- >post, because the objective is to be lean and mean, not to be
- >deliberately obscure. The obscurity was a necessity when the
- >machines had such limited capacities.
-
- Well, you got the "mean" part right. As for not being for non-experts,
- there sure are a lot of people touting Unix as the only good
- operating system for any purpose. Sheesh.
-
- As for "necessity": it is not necessary to name the list files command "ls",
- the help function "man", the print function "lp", and the editor "vi".
- It is not and was never necessary to limit options to single case-
- sensitive letters so that you have to remember all the magic mumbles
- to do your work. It is not necessary to give "cute" names to things
- (say, "set noclobber"). These things don't save enough space to be
- worth mentioning, even on the old 8-bit machines. I don't believe
- that's why it was done; do you have any evidence? Would it have
- taxed those early systems if the "ls" command had been named, say,
- "list"? Or "dir"?
-
- I think part of it is blindness -- I think those people honestly think
- that, if an abbreviation is good enough for them, it is good enough for
- everyone. That's why the namespace for Unix commands is such a bloody
- mess. They couldn't even keep consistent within their own commands;
- "cd" for "change directory", but "pwd" for "print working directory".
- Well, is it a "directory" or a "working directory"? Come to think of
- it, when else is it ever called a working directory?
-
- But I really do think that most of it is fascination with the ultimate
- video game. Look at this neat thing I can do, all I have to enter
- is "awk -syLgX -poop -l cfgfile".
-
- And, yeah, I can define aliases for commands as I want. But it should
- not be the purpose of aliases to bring order to the chaos. And all the
- documentation, such as it is, uses the obscure names for everything.
- I'm sorry, but your argument that it was necessary on limited machines
- doesn't hold water. Can you come up with anything better?
-
- >Software and hardware engineering have been becoming more and more
- >quantitative and scientific. More and more people are starting to
- >profile before optimizing. I don't see what you're complaining about.
- >There will always be poor engineers.
-
- What I'm complaining about, in this particular paragraph, is your very
- argument -- "when computers were smaller, this was necessary". My point
- is that it was never necessary to save microseconds in a piece of code
- just before the system prompted the user for an answer to something.
- I'm not talking about a general-purpose routine, or something in a loop,
- but cases where people seem to worry about tiny performance issues
- even while they're gathering requirements, before they have any notion
- of whether or where performance problems will be.
-
- That whole mindset of saving microseconds has been poor engineering since
- at least my entry into programming, on F8s and Z80s, in 1977. It's a
- red herring, meant to justify poor engineering that hasn't been "necessary"
- (at least) since 3rd-generation languages became common.
-
- Ralph Cook
-